#ifndef CRESOURCELOADER_H_
#define CRESOURCELOADER_H_

#include "cobject.h"
#include "../string/logger/clogger.h"

using namespace std;

/**
 * CResourceLoader - abstract class which defines general resource loader
 * @author Michal Rost
 * @date 09.04.2008
 */
template<typename T> class CResourceLoader : public CObject {
public:
  virtual void
      loadResource(string fileName, T &res, CLogger* logPtr = NULL) = 0;
  virtual void deleteResource(T &res) = 0;
  static string getClassName() {
    return "CResourceLoader";
  }
};

#endif
